/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao.basedato;

import beans.BeanUsuario;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import util.Fechas;
/**
 *
 * @author vyamunaque
 */
public class DAOUsuario {
public static BeanUsuario consultarUsuario(String strUsuario,String strPassword){
    BeanUsuario bUsuario=null;
    try{
        Conexion cnx=new Conexion();
        Connection con=cnx.getConexion();
        Statement st=con.createStatement();
        Fechas fActual=new Fechas();
        String fchActual=fActual.fechaActual();
        ResultSet rs=st.executeQuery("select u.*,r.DESCRIPCIONROL from USUARIOS as u left join ROLES as r on u.IDROL=r.IDROL where CODIGOUSUARIO='"+strUsuario+"' and CONTRASENA='"+strPassword+"' and u.VALIDOHASTA>=date('"+ fchActual +"')");
/*
             String selectStatement = "select * " + "from USUARIOS";
            PreparedStatement prepStmt = con.prepareStatement(selectStatement);
            ResultSet rs = prepStmt.executeQuery();
 */
        while (rs.next()){
                bUsuario=
                        new BeanUsuario(rs.getInt(1), rs.getString(2),
                        rs.getString(3), rs.getString(4), rs.getString(5),
                        rs.getString(6), rs.getDate(7), rs.getInt(8),rs.getString(9));
                rs.close();
                st.close();
        }
    }   catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception ex) {
        Logger.getLogger(DAOUsuario.class.getName()).log(Level.SEVERE, null, ex);
    }
    return bUsuario;
}
    public static boolean insertarUsuario(BeanUsuario dbUsuario) throws Exception {
        try {
            Conexion cnx = new Conexion();
            Connection con = cnx.getConexion();
            String insertStatement = "INSERT INTO USUARIOS values(?,?,?,?,?,?,?,?)";
            PreparedStatement pst = con.prepareStatement(insertStatement);
            pst.setInt(1, dbUsuario.getIdusuario());
            pst.setString(2, dbUsuario.getCodigo());
            pst.setString(3, dbUsuario.getContrasena());
            pst.setString(4, dbUsuario.getNombre());
            pst.setString(5, dbUsuario.getApellidos());
            pst.setString(6, dbUsuario.getCorreo());
            pst.setDate(7, (Date) dbUsuario.getVencimiento());
            pst.setInt(8, dbUsuario.getNivelAcceso());
            pst.executeUpdate();
            pst.close();
            return true;
            
        } catch (SQLException se) {
            se.printStackTrace();
            return false;
        }

    }
   
}
